排查限流问题
您的 API 限流
约束条件
您的 API 具有请求限制。
如果达到约束,用户将看到的错误
- 如果是触发器,用户会收到一封电子邮件,其中包含关于触发器错误的错误消息。
- 如果是操作,用户会在 Zap 运行历史中看到错误。
最佳实践
在您的 429 响应中添加一个具体的 Retry-After
标头,或者在错误响应中使用特殊的 ThrottledError
来指定定时延迟。这样,用户 Zap 就不会因为错误而中断,而是会在指定时间自动重试请求。
有关重试的更多信息,请参阅此处。在限制仍然生效时,用户会在 Zap 运行历史中看到等待/已调度 状态消息,而不是错误。
如果实现 ThrottledError
,您可以考虑添加抖动机制来处理 429 错误,例如以下代码来随机化重试间隔:
throw new z.errors.ThrottledError('message here', 60 + Math.floor(Math.random() * 60))
请注意,使用 ThrottledError
进行自定义错误处理可能需要发布新集成版本,而添加标头则可以在您的 API 端直接实现。
Zapier 的 Webhook 限流
约束条件
Zapier 当前的 Webhook 限制详见此处。如果您的集成超过这些限制(即发送给 Zapier 的 Webhook 数量),会返回 429 响应。
如果达到约束,用户将看到的错误
- 用户会收到一封电子邮件,其中包含关于触发器错误的错误消息。
最佳实践
您应该实现重试或退避机制,以确保数据最终被成功接收。
Zapier 的轮询触发器限流
约束条件
默认限制是每次轮询后,去重后识别最多 100 个新项目。更多详情请参阅此处。
如果达到约束,用户将看到的错误
- 用户会收到一封关于 Zap 运行被暂停的电子邮件,并在 Zap 运行历史中看到带有相同信息的横幅通知。
最佳实践
如果您的触发器持续返回超过 100 个新记录,建议将其转换为基于 REST Hook 的触发器。Webhook 的限制更高(每 5 分钟最多 10,000 次请求)。
需要帮助?告诉我们您的问题,我们会为您连接合适的资源或联系支持。